#pragma once

#include <cstdio>

class WzBinaryReader
{
private:
	/****************
	 * FILE RELATED *
	 ****************/
	FILE* m_filePtr;
	char* m_fileLoc;

	int m_fileLength;
	int m_filePos;

	/***************
	 *GAME RELATED *
	 ***************/
	std::list<char> m_WzKey;
	UINT m_Hash;
	WzHeader* m_Header;

	FILE* File_Open(char* pathToFile)
	{
		FILE* file = NULL;
		file = fopen(pathToFile, "r");
		if(file == NULL)
			return NULL;
		else
			return file;
	}

public:
	WzBinaryReader(char* File, char WzIV[])
	{
		m_filePtr = File_Open(File);
		if(m_filePtr == NULL)
			throw new WzFileException("Unable to open file.", file);
		else
		{
			m_WzKey = WzKeyGenerator.GenereateWzKey(WzIV);
		}


	}
};

